1. Field of the Invention
The present invention relates generally to non-photorealistic rendering (NPR) of images, and, more particularly, to a system, method, and apparatus for creating primitives for a 3-dimensional model in real-time.
2. Description of the Related Art
There are embodiments in the art which add primitives such as motion lines to line drawings. For example, motion lines have been added to cartoon animations to give the appearance of motion or to emphasize a particular object's motion in the animation. In such an embodiment, motion lines are typically employed to make the movement of such objects appear as realistic, or “photo-realistic,” as possible.
There are other embodiments in which primitives such as motion lines are automatically added to line drawings. In such embodiments, motion lines are added to static scenes at authoring time and then applied and rendered. The direction and other characteristics of each line, such as visibility and perspective correctness, are calculated at the authoring time from attribute information stored for each object to which motion lines are to be drawn for each frame. Such embodiments use key-frame data, where all of the attribute data for each object to which motion lines are to be drawn is stored within a file or memory separately for each frame. Since this attribute information is processed separately for each frame, such an embodiment consumes much of a system's resources.
An embodiment which relies less on a system's resources is therefore desired, so primitives such as motion lines may quickly be added to a frame. It is desirable to have an embodiment capable of processing a series of successive frames in an animation, for example, in which motion lines are not merely calculated from stored attribute information at authoring time for each frame. An improved embodiment would use, in addition to key-frame data, per-frame data, or data relating to the position and movement of an object in an animation based upon the position of the object in previous frames.
It is also desirable to add primitives such as motion lines not only to a line drawing, but also to a 3-dimensional (3-D) model with polygonal geometry. It is desirable for such a system to use both per-frame data and key-frame data. A system using per frame data calculates motion lines based upon the positions of objects to which they attach in previous frames. Thus, physics can be applied to objects in each frame, and motion can be illustrated by resultant motion lines based upon the positions of objects in a series of frames, unlike previous systems, which calculate positions and other physical properties separately for each frame.
An embodiment is desired in which primitives such as motion lines may be added in real time. Therefore, an embodiment in which speed is optimized is desired.